/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.manager.editar;

import br.com.deployment.entidade.registroimovel.Folha;
import br.com.deployment.entidade.registroimovel.Livro;
import br.com.deployment.servico.LivroServico;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

/**
 *
 * @author elyjr
 */
@ManagedBean
@SessionScoped
public class ManagerEditarLivro implements Serializable{

    @EJB
    LivroServico livroServico;
    
    private Livro livro;
    private Long qtd;
    private Long verifica;
    private Long qtdFolhas;

    public ManagerEditarLivro() {
    }

    @PostConstruct
    public void init() {
        livro = new Livro();
        qtd = new Long(0);
        qtdFolhas = new Long(0);
    }

//    public void redirect(String string, Livro l) {
//        try {
//            FacesContext context = FacesContext.getCurrentInstance();
//            livro = l;
//            
//            qtdFolhas = qtdFolha(livro);
//            context.getExternalContext().redirect(string);
//        } catch (IOException ex) {
//            Logger.getLogger(ManagerEditarLivro.class.getName()).log(Level.SEVERE, null, ex);
//        }
//    }

    public Long qtdFolha(Livro livro) {
        return qtd = livroServico.qtdFolhaLivro(livro);
    }

    public List<Folha> aumenta(Livro livro, Long qtdBanco, Long qtdF) {
        List<Folha> folhas = new ArrayList<Folha>();
        for (Long i = qtdBanco + 1; i <= qtdF; i++) {
            Folha f = new Folha();
            f.setNumero(Integer.valueOf((int) i.longValue()));
            //f.setLivro(livro);
            folhas.add(f);

        }
        return folhas;
    }

    
    public void excluir(Livro l){
         livroServico.remover(l);
    }
    
    
    public void editar() {
        //livro = livroServico.find(Integer.valueOf((int)livro.getId().longValue()));
//        List<Folha> fo = new ArrayList<Folha>();
//        verifica = qtdFolha(livro);
//        System.out.println(verifica);
//        System.out.println(qtdFolhas);
//        if (qtdFolhas > verifica){
//            for (Long i = verifica + 1; i <= qtdFolhas; i++) {
//                Folha f = new Folha();
//                f.setNumero(Integer.valueOf((int) i.longValue()));
//                f.setLivro(livro);
//                fo.add(f);
//                livro.setFolhas(fo);
//                        
//            }
//        livroServico.atualizar(livro);   
//        }
//        else if (qtdFolhas < verifica){ 
//            for(Long i = verifica; i <= qtdFolhas; i--){
//                Folha f = new Folha();
//                f.setNumero(Integer.valueOf((int) i.longValue()));
//                f.setLivro(livro);
//                fo.add(f);
//                livro.setFolhas(fo);
//                
//            }
//           livroServico.remover(livro);
       // }

    }

    public Livro getLivro() {
        return livro;
    }

    public void setLivro(Livro livro) {
        this.livro = livro;
    }

    public Long getQtd() {
        return qtd;
    }

    public void setQtd(Long qtd) {
        this.qtd = qtd;
    }

    public Long getQtdFolhas() {
        return qtdFolhas;
    }

    public void setQtdFolhas(Long qtdFolhas) {
        this.qtdFolhas = qtdFolhas;
    }
}
